home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_gwu / opname.c < prev    next >
C/C++ Source or Header  |  1996-01-30  |  15KB  |  268 lines

  1. /*
  2.  * Copyright (C) 1985-1992  New York University
  3.  * 
  4.  * This file is part of the Ada/Ed-C system.  See the Ada/Ed README file for
  5.  * warranty (none) and distribution info and also the GNU General Public
  6.  * License for more details.
  7.  
  8.  */
  9.  
  10. #include "opnamep.h"
  11.  
  12. char *op_name(unsigned int opnum)                            /*;op_name*/
  13. {
  14.     static char *opnames[] = {
  15.         "nop",                              /* 0 nop */
  16.         "abort",                            /* 1 abort */
  17.         "abs_b",                            /* 2 abs_b */
  18.         "abs_w",                            /* 3 abs_w */
  19.         "abs_l",                            /* 4 abs_l */
  20.         "abs_x",                            /* 5 abs_x */
  21.         "activate",                         /* 6 activate */
  22.         "activate_new_g",                   /* 7 activate_new_g */
  23.         "activate_new_l",                   /* 8 activate_new_l */
  24.         "add_b",                            /* 9 add_b */
  25.         "add_w",                            /* 10 add_w */
  26.         "add_l",                            /* 11 add_l */
  27.         "add_x",                            /* 12 add_x */
  28.         "add_immediate_b",                  /* 13 add_immediate_b */
  29.         "add_immediate_w",                  /* 14 add_immediate_w */
  30.         "add_immediate_l",                  /* 15 add_immediate_l */
  31.         "add_immediate_x",                  /* 16 add_immediate_x */
  32.         "and",                              /* 17 and */
  33.         "allocate",                         /* 18 allocate */
  34.         "allocate_copy_g",                  /* 19 allocate_copy_g */
  35.         "allocate_copy_l",                  /* 20 allocate_copy_l */
  36.         "array_and",                        /* 21 array_and */
  37.         "array_catenate",                   /* 22 array_catenate */
  38.         "array_move",                       /* 23 array_move */
  39.         "array_not",                        /* 24 array_not */
  40.         "array_or",                         /* 25 array_or */
  41.         "array_slice",                      /* 26 array_slice */
  42.         "array_xor",                        /* 27 array_xor */
  43.         "attribute",                        /* 28 attribute */
  44.         "call_g",                           /* 29 call_g */
  45.         "call_l",                           /* 30 call_l */
  46.         "call_predef",                      /* 31 call_predef */
  47.         "case_b",                           /* 32 case_b */
  48.         "case_w",                           /* 33 case_w */
  49.         "case_l",                           /* 34 case_l */
  50.         "compare_b",                        /* 35 compare_b */
  51.         "compare_w",                        /* 36 compare_w */
  52.         "compare_a",                        /* 37 compare_a */
  53.         "compare_l",                        /* 38 compare_l */
  54.         "compare_d",                        /* 39 compare_d */
  55.         "compare_x",                        /* 40 compare_x */
  56.         "compare_struc",                    /* 41 compare_struc */
  57.         "convert_to_g",                     /* 42 convert_to_g */
  58.         "convert_to_l",                     /* 43 convert_to_l */
  59.         "create_b",                         /* 44 create_b */
  60.         "create_w",                         /* 45 create_w */
  61.         "create_a",                         /* 46 create_a */
  62.         "create_l",                         /* 47 create_l */
  63.         "create_d",                         /* 48 create_d */
  64.         "create_x",                         /* 49 create_x */
  65.         "create_copy_b",                    /* 50 create_copy_b */
  66.         "create_copy_w",                    /* 51 create_copy_w */
  67.         "create_copy_a",                    /* 52 create_copy_a */
  68.         "create_copy_l",                    /* 53 create_copy_l */
  69.         "create_copy_d",                    /* 54 create_copy_d */
  70.         "create_copy_x",                    /* 55 create_copy_x */
  71.         "create_copy_struc",                /* 56 create_copy_struc */
  72.         "create_task_g",                    /* 57 create_task_g */
  73.         "create_task_l",                    /* 58 create_task_l */
  74.         "create_struc",                     /* 59 create_struc */
  75.         "current_task",                     /* 60 current_task */
  76.         "deallocate",                       /* 61 deallocate */
  77.         "declare_b",                        /* 62 declare_b */
  78.         "declare_w",                        /* 63 declare_w */
  79.         "declare_a",                        /* 64 declare_a */
  80.         "declare_l",                        /* 65 declare_l */
  81.         "declare_d",                        /* 66 declare_d */
  82.         "declare_x",                        /* 67 declare_x */
  83.         "deref_b",                          /* 68 deref_b */
  84.         "deref_w",                          /* 69 deref_w */
  85.         "deref_a",                          /* 70 deref_a */
  86.         "deref_l",                          /* 71 deref_l */
  87.         "deref_d",                          /* 72 deref_d */
  88.         "deref_x",                          /* 73 deref_x */
  89.         "discard_addr",                     /* 74 discard_addr */
  90.         "div_b",                            /* 75 div_b */
  91.         "div_w",                            /* 76 div_w */
  92.         "div_l",                            /* 77 div_l */
  93.         "duplicate_b",                      /* 78 duplicate_b */
  94.         "duplicate_w",                      /* 79 duplicate_w */
  95.         "duplicate_a",                      /* 80 duplicate_a */
  96.         "duplicate_l",                      /* 81 duplicate_l */
  97.         "duplicate_d",                      /* 82 duplicate_d */
  98.         "duplicate_x",                      /* 83 duplicate_x */
  99.         "end_activation",                   /* 84 end_activation */
  100.         "end_for_loop_b",                   /* 85 end_for_loop_b */
  101.         "end_for_loop_w",                   /* 86 end_for_loop_w */
  102.         "end_for_loop_l",                   /* 87 end_for_loop_l */
  103.         "end_forrev_loop_b",                /* 88 end_forrev_loop_b */
  104.         "end_forrev_loop_w",                /* 89 end_forrev_loop_w */
  105.         "end_forrev_loop_l",                /* 90 end_forrev_loop_l */
  106.         "end_rendezvous",                   /* 91 end_rendezvous */
  107.         "enter_block",                      /* 92 enter_block */
  108.         "entry_call",                       /* 93 entry_call */
  109.         "fix_mul",                          /* 94 fix_mul */
  110.         "fix_div",                          /* 95 fix_div */
  111.         "float_add_l",                      /* 96 float_add_l */
  112.         "float_add_x",                      /* 97 float_add_x */
  113.         "float_compare_l",                  /* 98 float_compare_l */
  114.         "float_compare_x",                  /* 99 float_compare_x */
  115.         "float_div_l",                      /* 100 float_div_l */
  116.         "float_div_x",                      /* 101 float_div_x */
  117.         "float_mul_l",                      /* 102 float_mul_l */
  118.         "float_mul_x",                      /* 103 float_mul_x */
  119.         "float_neg_l",                      /* 104 float_neg_l */
  120.         "float_neg_x",                      /* 105 float_neg_x */
  121.         "float_pow_l",                      /* 106 float_pow_l */
  122.         "float_pow_x",                      /* 107 float_pow_x */
  123.         "float_sub_l",                      /* 108 float_sub_l */
  124.         "float_sub_x",                      /* 109 float_sub_x */
  125.         "float_abs_l",                      /* 110 float_abs_l */
  126.         "float_abs_x",                      /* 111 float_abs_x */
  127.         "indirect_move_b",                  /* 112 indirect_move_b */
  128.         "indirect_move_w",                  /* 113 indirect_move_w */
  129.         "indirect_move_a",                  /* 114 indirect_move_a */
  130.         "indirect_move_l",                  /* 115 indirect_move_l */
  131.         "indirect_move_d",                  /* 116 indirect_move_d */
  132.         "indirect_move_x",                  /* 117 indirect_move_x */
  133.         "indirect_pop_b_g",                 /* 118 indirect_pop_b_g */
  134.         "indirect_pop_b_l",                 /* 119 indirect_pop_b_l */
  135.         "indirect_pop_w_g",                 /* 120 indirect_pop_w_g */
  136.         "indirect_pop_w_l",                 /* 121 indirect_pop_w_l */
  137.         "indirect_pop_a_g",                 /* 122 indirect_pop_a_g */
  138.         "indirect_pop_a_l",                 /* 123 indirect_pop_a_l */
  139.         "indirect_pop_l_g",                 /* 124 indirect_pop_l_g */
  140.         "indirect_pop_l_l",                 /* 125 indirect_pop_l_l */
  141.         "indirect_pop_d_g",                 /* 126 indirect_pop_d_g */
  142.         "indirect_pop_d_l",                 /* 127 indirect_pop_d_l */
  143.         "indirect_pop_x_g",                 /* 128 indirect_pop_x_g */
  144.         "indirect_pop_x_l",                 /* 129 indirect_pop_x_l */
  145.         "install_handler",                  /* 130 install_handler */
  146.         "is_equal",                         /* 131 is_equal */
  147.         "is_less",                          /* 132 is_less */
  148.         "is_greater",                       /* 133 is_greater */
  149.         "is_less_or_equal",                 /* 134 is_less_or_equal */
  150.         "is_greater_or_equal",              /* 135 is_greater_or_equal */
  151.         "jump",                             /* 136 jump */
  152.         "jump_if_false",                    /* 137 jump_if_false */
  153.         "jump_if_greater",                  /* 138 jump_if_greater */
  154.         "jump_if_greater_or_equal",         /* 139 jump_if_greater_or_equal */
  155.         "jump_if_less",                     /* 140 jump_if_less */
  156.         "jump_if_less_or_equal",            /* 141 jump_if_less_or_equal */
  157.         "jump_if_true",                     /* 142 jump_if_true */
  158.         "leave_block",                      /* 143 leave_block */
  159.         "link_tasks_declared",              /* 144 link_tasks_declared */
  160.         "load_exception_register",          /* 145 load_exception_register */
  161.         "membership",                       /* 146 membership */
  162.         "mod_b",                            /* 147 mod_b */
  163.         "mod_w",                            /* 148 mod_w */
  164.         "mod_l",                            /* 149 mod_l */
  165.         "move_b",                           /* 150 move_b */
  166.         "move_w",                           /* 151 move_w */
  167.         "move_a",                           /* 152 move_a */
  168.         "move_l",                           /* 153 move_l */
  169.         "move_d",                           /* 154 move_d */
  170.         "move_x",                           /* 155 move_x */
  171.         "mul_b",                            /* 156 mul_b */
  172.         "mul_w",                            /* 157 mul_w */
  173.         "mul_l",                            /* 158 mul_l */
  174.         "neg_b",                            /* 159 neg_b */
  175.         "neg_w",                            /* 160 neg_w */
  176.         "neg_l",                            /* 161 neg_l */
  177.         "neg_x",                            /* 162 neg_x */
  178.         "not",                              /* 163 not */
  179.         "or",                               /* 164 or */
  180.         "pop_b_g",                          /* 165 pop_b_g */
  181.         "pop_b_l",                          /* 166 pop_b_l */
  182.         "pop_w_g",                          /* 167 pop_w_g */
  183.         "pop_w_l",                          /* 168 pop_w_l */
  184.         "pop_a_g",                          /* 169 pop_a_g */
  185.         "pop_a_l",                          /* 170 pop_a_l */
  186.         "pop_l_g",                          /* 171 pop_l_g */
  187.         "pop_l_l",                          /* 172 pop_l_l */
  188.         "pop_d_g",                          /* 173 pop_d_g */
  189.         "pop_d_l",                          /* 174 pop_d_l */
  190.         "pop_x_g",                          /* 175 pop_x_g */
  191.         "pop_x_l",                          /* 176 pop_x_l */
  192.         "pop_tasks_declared_g",             /* 177 pop_tasks_declared_g */
  193.         "pop_tasks_declared_l",             /* 178 pop_tasks_declared_l */
  194.         "pow_b",                            /* 179 pow_b */
  195.         "pow_w",                            /* 180 pow_w */
  196.         "pow_l",                            /* 181 pow_l */
  197.         "push_b_g",                         /* 182 push_b_g */
  198.         "push_b_l",                         /* 183 push_b_l */
  199.         "push_w_g",                         /* 184 push_w_g */
  200.         "push_w_l",                         /* 185 push_w_l */
  201.         "push_a_g",                         /* 186 push_a_g */
  202.         "push_a_l",                         /* 187 push_a_l */
  203.         "push_l_g",                         /* 188 push_l_g */
  204.         "push_l_l",                         /* 189 push_l_l */
  205.         "push_d_g",                         /* 190 push_d_g */
  206.         "push_d_l",                         /* 191 push_d_l */
  207.         "push_x_g",                         /* 192 push_x_g */
  208.         "push_x_l",                         /* 193 push_x_l */
  209.         "push_effective_address_g",         /* 194 push_effective_address_g */
  210.         "push_effective_address_l",         /* 195 push_effective_address_l */
  211.         "push_immediate_b",                 /* 196 push_immediate_b */
  212.         "push_immediate_w",                 /* 197 push_immediate_w */
  213.         "push_immediate_a",                 /* 198 push_immediate_a */
  214.         "push_immediate_l",                 /* 199 push_immediate_l */
  215.         "push_immediate_d",                 /* 200 push_immediate_d */
  216.         "push_immediate_x",                 /* 201 push_immediate_x */
  217.         "qual_discr_g",                     /* 202 qual_discr_g */
  218.         "qual_discr_l",                     /* 203 qual_discr_l */
  219.         "qual_index_g",                     /* 204 qual_index_g */
  220.         "qual_index_l",                     /* 205 qual_index_l */
  221.         "qual_range_g",                     /* 206 qual_range_g */
  222.         "qual_range_l",                     /* 207 qual_range_l */
  223.         "qual_sub_g",                       /* 208 qual_sub_g */
  224.         "qual_sub_l",                       /* 209 qual_sub_l */
  225.         "raise",                            /* 210 raise */
  226.         "raise_in_caller",                  /* 211 raise_in_caller */
  227.         "record_move_g",                    /* 212 record_move_g */
  228.         "record_move_l",                    /* 213 record_move_l */
  229.         "rem_b",                            /* 214 rem_b */
  230.         "rem_w",                            /* 215 rem_w */
  231.         "rem_l",                            /* 216 rem_l */
  232.         "restore_stack_pointer",            /* 217 restore_stack_pointer */
  233.         "return_b",                         /* 218 return_b */
  234.         "return_w",                         /* 219 return_w */
  235.         "return_a",                         /* 220 return_a */
  236.         "return_l",                         /* 221 return_l */
  237.         "return_d",                         /* 222 return_d */
  238.         "return_x",                         /* 223 return_x */
  239.         "return_struc",                     /* 224 return_struc */
  240.         "save_stack_pointer",               /* 225 save_stack_pointer */
  241.         "select",                           /* 226 select */
  242.         "selective_wait",                   /* 227 selective_wait */
  243.         "compare_array",                    /* 228 compare_array */
  244.         "stmt",                             /* 229 stmt */
  245.         "sub_b",                            /* 230 sub_b */
  246.         "sub_w",                            /* 231 sub_w */
  247.         "sub_l",                            /* 232 sub_l */
  248.         "sub_x",                            /* 233 sub_x */
  249.         "subprogram",                       /* 234 subprogram */
  250.         "subscript",                        /* 235 subscript */
  251.         "terminate",                        /* 236 terminate */
  252.         "test_exception_register",          /* 237 test_exception_register */
  253.         "timed_entry_call",                 /* 238 timed_entry_call */
  254.         "type_global",                      /* 239 type_global */
  255.         "type_local",                       /* 240 type_local */
  256.         "uncreate",                         /* 241 uncreate */
  257.         "update",                           /* 242 update */
  258.         "update_and_discard",               /* 243 update_and_discard */
  259.         "wait",                             /* 244 wait */
  260.         "xor",                              /* 245 xor */
  261.         "exit_block",                       /* 246 exit_block */
  262.         "interface",                        /* 247 interface */
  263.         "check_rec_subtype",        /* 248 check_rec_subtype */
  264.     };
  265.     if (opnum < 249) return opnames[opnum];
  266.     else return "illegal";
  267. }
  268.